package org.irri.smta.config;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;

public interface IConfiguration extends Serializable {
	
	void clear();
	Boolean containsKey(String key);
	BigDecimal getBigDecimal(String key);
	BigDecimal getBigDecimal(String key, BigDecimal defaultValue);
	BigInteger getBigInteger(String key);
	BigInteger getBigInteger(String key, BigInteger defaultValue);
	Boolean getBoolean(String key);
	Boolean getBoolean(String key,Boolean defaultValue);
	Byte getByte(String key);
	Byte getByte(String key, Byte defaultValue);
	Double getDouble(String key);
	Double getDouble(String key, Double defaultValue);
	Float getFloat(String key);
	Float getFloat(String key, Float defaultValue);
	Integer getInteger(String key);
	Integer getInteger(String key, Integer defaultValue);
	Long getLong(String key);
	Long getLong(String key, Long defaultValue);
	Short getShort(String key);
	Short getShort(String key, Short defaultValue);
	String getString(String key);
	String getString(String key, String defaultValue);
	Boolean isEmpty();
	void load();

}
